Catalogue of parametrised CRC algorithms |
您所在的位置:网站首页 › crc16-ccitt msb › Catalogue of parametrised CRC algorithms |
[ Home | Up | Prev | Next | Disclaimer ] Catalogue of parametrised CRC algorithms with 16 bits CRC-16/ARCwidth=16 poly=0x8005 init=0x0000 refin=true refout=true xorout=0x0000 check=0xbb3d residue=0x0000 name="CRC-16/ARC" Class: attested Alias: ARC, CRC-16, CRC-16/LHA, CRC-IBM AUTOSAR (24 November 2022), AUTOSAR Classic Platform release R22-11, Specification of CRC Routines I Comprehensive primer on CRC theory (Section 7.1, pp.19–22) I All parameters (Section 7.2.2.2, p.27) IV 7 codewords (Section 7.2.2.2, p.27) 000000000000 F20183E1C2 0FAA0055E30B 00FF5511CF6C 332255AABBCCDDEEFF98AE 926B554EE2 FFFFFFFF0194 System Enhancement Associates (24 October 1986), ARC 5.20 II Implementation Haruyasu Yoshizaki (10 January 1996), LHA 2.55E II Implementation Rahul Dhesi (19 April 1996), ZOO 2.1a II Implementation Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation (CRC16_arc) Dr Ross N. Williams (19 August 1993), "A Painless Guide to CRC Error Detection Algorithms" (courtesy of the Internet Archive) III All parameters (except Residue) Emil Lenchak, Texas Instruments, Inc. (June 2018), CRC Implementation With MSP430 III All parameters (except Residue) (Section 4.6, p.6) Altera Corporation (April 1999), crc MegaCore Function Data Sheet, version 2 (courtesy of the Internet Archive) III All parameters (except Residue) (p.6) Unique effective solution of codeword set Created: 30 March 2005 Updated: 2 August 2023 CRC-16/CDMA2000width=16 poly=0xc867 init=0xffff refin=false refout=false xorout=0x0000 check=0x4c06 residue=0x0000 name="CRC-16/CDMA2000" Class: academic 3rd Generation Partnership Project 2 (3GPP2) (September 2009), Physical layer standard for cdma2000 spread spectrum systems, revision E, version 1.0 (courtesy of the Internet Archive) I Definition: Width, Poly (Section 2.1.3.1.4.1.1, p.2-95) I Full description (Section 2.1.3.1.4.1, p.2-95) I Shift register diagram (Figure 2.1.3.1.4.1.1-1, p.2-95) Agilent Technologies, Advanced Design System 2008 Update 2, CDMA2K_CRC_Coder module documentation (courtesy of the Internet Archive) III Full description Created: 14 October 2013 Updated: 28 July 2023 CRC-16/CMSwidth=16 poly=0x8005 init=0xffff refin=false refout=false xorout=0x0000 check=0xaee7 residue=0x0000 name="CRC-16/CMS" Class: third-party Dainius Šimelevičius, Remi K. Mommsen et al. (16 December 2016), CERN CMS Online Software (XDAQ) release 14, Event Builder source package, files daq/evb/include/evb/CRCCalculator.h, daq/evb/src/common/CRCCalculator.cc III All parameters (except Residue) III Code: C++ "movilstore" (24 January 2011), Computer Interfacing Forum topic 1650 (courtesy of the Internet Archive) III Reference to application of algorithm on Samsung mobiles IV 5 codewords 0200080078110000F00F0000F7E0 020008005B110000F00F00004725 0200080050110000F00F0000F71F 0200080024110000F00F00003636 02000800A6100000F00F0000141A "xtrusion" (28 November 2010), Computer Interfacing Forum topic 1627 (courtesy of the Internet Archive) IV 12 codewords 0200080034100000B0090000B725 0200080029100000B0090000E76E 0200080002100000B0090000D79B 0200080005100000B0090000A789 0200080078100000B0090000F696 00050900000000003030303000D55E 01000400051000003793 0200080034100000F00F00003740 0200080029100000F00F0000670B 0200080002100000F00F000057FE 0200080005100000F00F000027EC 0200080078100000F00F000076F3 "Robert" ("xtrusion") (25 December 2010), Computer Interfacing Forum topic 1636 (courtesy of the Internet Archive) IV 5 codewords 02000C00301000009A01000000000000837B 02000C00301000009A0100009A0100004B55 02000C00301000009A01000034030000934E 02000C00301000009A010000CE0400005B09 02000C00301000009A01000068060000A311 Unique effective solution of codeword set Created: 13 July 2016 Updated: 2 August 2023 CRC-16/DDS-110width=16 poly=0x8005 init=0x800d refin=false refout=false xorout=0x0000 check=0x9ecf residue=0x0000 name="CRC-16/DDS-110" Class: attested Used in the ELV DDS 110 function generator. Init value is equivalent to an augment of 0xFFFF prepended to the message. ELV Elektronik AG (March 2008), Software-Schnittstelle der Funktionsgeneratoren DDS 10/DDS 110 (in German; courtesy of the Internet Archive) I Definition: Width, Poly, CRC byte order (p.67) IV 1 codeword (escaped according to the text) (p.67) 0200108200731082F7FE (source: 02000200731082FEF7) "wortel", "Gammatester" (19 July 2009), Computer Interfacing Forum topic 1372 (courtesy of the Internet Archive) III All parameters (except Check, Residue) ("Gammatester") IV 3 codewords ("wortel") 02001082007800ED96 020010820078016D93 020005006600057A586435 Unique effective solution of codeword set Created: 30 November 2009 Updated: 28 December 2019 CRC-16/DECT-Rwidth=16 poly=0x0589 init=0x0000 refin=false refout=false xorout=0x0001 check=0x007e residue=0x0589 name="CRC-16/DECT-R" Class: attested Alias: R-CRC-16 Used in DECT A-fields. ETSI EN 300 175-3 version 2.5.1 (August 2013) I Full mathematical description (Section 6.2.5.2, p.99) I Performance of polynomial (Annex B, p.297) Thomas Pircher (5 November 2022), pycrc 0.10.0 II Implementation Pavel Yazev (9 September 2015), gr-dect2 module gr-dect2/lib/packet_decoder_impl.cc III Code: C++ Created: 7 December 2009 Updated: 3 August 2023 CRC-16/DECT-Xwidth=16 poly=0x0589 init=0x0000 refin=false refout=false xorout=0x0000 check=0x007f residue=0x0000 name="CRC-16/DECT-X" Class: attested Alias: X-CRC-16 The single codeword is supported by the implementation confirming CRC-16/DECT-R, defined identically apart from XorOut in the same standard. Used in DECT B-fields. ETSI EN 300 175-3 version 2.5.1 (August 2013) I Definition: Residue; full mathematical description (Section 6.2.5.4, pp.99–101) I Performance of polynomial (Annex B, p.297) "Nick" (27 November 2010), StackOverflow submitted question IV 1 codeword A37029 Created: 30 July 2010 Updated: 2 January 2021 CRC-16/DNPwidth=16 poly=0x3d65 init=0x0000 refin=true refout=true xorout=0xffff check=0xea82 residue=0x66c5 name="CRC-16/DNP" Class: confirmed Lammert Bies (August 2011), CRC calculator II Implementation Created: 2 November 2007 Updated: 28 December 2019 CRC-16/EN-13757width=16 poly=0x3d65 init=0x0000 refin=false refout=false xorout=0xffff check=0xc2b7 residue=0xa366 name="CRC-16/EN-13757" Class: confirmed Used in the Wireless M-Bus protocol for remote meter reading. STACKFORCE GmbH (2014), Capt²web sniffer, wireless M-Bus monitor (courtesy of the Internet Archive) II Transcripts confirming implementation with at least 124 codewords (selection) EE449ACE010000802307AABC 7A4700E0A535E79CFAA94D07B173BC101496 021CCB0127DCF516FF4EA8BC0A4851744D3D 438A680ECFC8EAA7F5D6476CAD938EBF88AF 259794C336C6FE9601D99F81B5EBDD9F36B5 67FC406AA1107F380CA349EB2F1AD57AD22A 7D8067CD9D1076 D0F1E6C2C3962E 384BABA953BCE5 70414545C59920 F0649A4E111111110000E9CA A12F2F2F2F2F2F2F2F2F2F2F2F2F2F2F4A08 2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F63D7 7A8D00E0A503B1922864C36F29B37AF0646A D1391E979A44C456786CBB99CD6ECAACB373 In the Web interface packet view, the bytes of the A and M fields are displayed in reverse, compared to transmission order. Patrick Seem, Texas Instruments, Inc. (23 October 2008), AN067: Wireless MBUS Implementation with CC1101 and MSP430 III Definition: Width, Poly, Init, XorOut (Section 5.4, p.9) III Describes synchronous transfer with MSBs sent first, implying RefIn and RefOut (Sections 7.2.1, 7.3.1, pp.13–14) Dr.-Ing. Thomas Weinzierl, Weinzierl Engineering GmbH (July 2005), Stack Implementation for KNX-RF (courtesy of the Internet Archive) III Definition: Poly (Section 2.3, p.3) III CRC byte order, implying RefIn and RefOut (Section 2.3, p.2, etc.) Radio link corresponds to Link A in AN067 (Section 2.2, p.2 vs. AN067 table 3, p.6) "Tim" (6 June 2004), Control.com forum post III Width, Poly cited for ISO/IEC 60870-5-2 "MarcPo", "Gammatester" (30 September 2008), Computer Interfacing Forum topic 925 (courtesy of the Internet Archive) III All parameters (except Check, Residue) ("Gammatester") IV 1 codeword ("MarcPo") 780B134365871E6D "Chris P." (27 April 2009), Computer Interfacing Forum topic 1315 (courtesy of the Internet Archive) IV 1 codeword 07400001AAAA0000363E Unique effective solution of codeword set Created: 1 October 2008 Updated: 28 December 2019 CRC-16/GENIBUSwidth=16 poly=0x1021 init=0xffff refin=false refout=false xorout=0xffff check=0xd64e residue=0x1d0f name="CRC-16/GENIBUS" Class: attested Alias: CRC-16/DARC, CRC-16/EPC, CRC-16/EPC-C1G2, CRC-16/I-CODE Used in standardised RFID tags. Presented high byte first. EPCglobal Inc™ (4 September 2018), EPC UHF Gen2 Air Interface Protocol: EPC™ Radio-Frequency Identity Protocols Generation-2 UHF RFID Standard, release 2.1 I Definition: Width, Poly, Init, Residue (Table 6-11, p.33) I Definition: RefIn, Residue (Annex F.2, p.143) I Shift register circuit diagram (Figure F-2, p.144) I Transmission order, implying RefIn and RefOut (Section 6.3.1.4, p.33) IV 7 codewords (Table F-2, pp.144–5) 0000E2F0 08001111CCAE 100011112222968F 180011112222333378F6 20001111222233334444C241 2800111122223333444455552A91 30001111222233334444555566661835 Philips Semiconductors (30 January 2004), SL2 ICS11 Product Specification, revision 3.0 (courtesy of the Internet Archive) I Definition: Width, Poly, Init, Residue (Section 10.2, p.26) I Code: C (Section 10.3.2, pp.30–32) I Worked example (as code trace) (Section 10.3.2, p.32) ETSI EN 300 751 version 1.2.1 (January 2003) I Definition: Width, Poly (Section 11.2.5, p.68) IV 1 codeword (Section 11.2.5, p.68) 402141424387F5 PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Hee-Bok Kang et al. (December 2008), High Security FeRAM-Based EPC C1G2 UHF (860 MHz-960 MHz) Passive RFID Tag Chip, ETRI Journal, Volume 30 Number 6 IV 2 codewords (p.830) 101000000001000000000000000000101000001010001 3000319F60A356276E28F14FDC9C5DB4 "Geert" (7 December 2007), Computer Interfacing Forum topic 216 (courtesy of the Internet Archive) III Quoted definition for GENIbus: Width, Poly, Init, XorOut IV 2 codewords cited for GENIbus 100120020C823E003982150064820900FA910A 07200102C302101A901C Scott McLaughlin (24 September 2008), Computer Interfacing Forum topic 907 (courtesy of the Internet Archive) III Reported definition for TI Tag-It: full (except Check, Residue) IV 4 codewords cited for TI Tag-It 0000000001000000000101100011110010111 000000000101000000000000000011000101100011010000000101101101000111001 11000000010100000000000000000110001011000110100000001000000100011111001001111011010001011100000011000001 00000001010100000000000000001100010110001101000000011000001110000000010101010101010101100010011000111 Unique effective solution of codeword set Created: 2 November 2007 Updated: 3 January 2021 CRC-16/GSMwidth=16 poly=0x1021 init=0x0000 refin=false refout=false xorout=0xffff check=0xce3c residue=0x1d0f name="CRC-16/GSM" Class: attested ETSI TS 100 909 version 8.9.0 (January 2005) I Full mathematical description (Section 5.1.2.2, p.67 — Section 5.1.3.2, p.69 — Section 5.1.4.2, p.70) ECMA standard ECMA-130, edition 2 (June 1996) — ISO/IEC 10149:1995 I Definition: Width, Poly, XorOut, RefOut (Section 22.3.6, p.23) Andreas Mueller et al. (15 May 2018), cdrdao 1.2.4, modules cdrdao-1.2.4/dao/SubChannel.cc, cdrdao-1.2.4/dao/PQSubChannel16.cc III Code: C++ Stanislav Brabec (26 January 2018), CD-disassembler 0.1 (gzipped tar archive; courtesy of the Internet Archive), module cddisasm-0.1/cddisasm.c III Code: C Stanislav Brabec (17 January 2014), CD-disassembler homepage (courtesy of the Internet Archive) IV 2 codewords 010101000000000002005A28 035D24E3580200010034D0F2 Created: 17 February 2017 Updated: 4 August 2023 CRC-16/IBM-3740width=16 poly=0x1021 init=0xffff refin=false refout=false xorout=0x0000 check=0x29b1 residue=0x0000 name="CRC-16/IBM-3740" Class: attested Alias: CRC-16/AUTOSAR, CRC-16/CCITT-FALSE An algorithm commonly misidentified as CRC-CCITT. CRC-CCITT customarily refers to the LSB-first form of the algorithm in ITU-T Recommendation V.41 (see CRC-16/KERMIT); its MSB-first counterpart is CRC-16/XMODEM. AUTOSAR (24 November 2022), AUTOSAR Classic Platform release R22-11, Specification of CRC Routines I Comprehensive primer on CRC theory (Section 7.1, pp.19–22) I All parameters (Section 7.2.2.1, p.26) IV 7 codewords (Section 7.2.2.1, p.26) 0000000084C0 F20183D374 0FAA00552023 00FF5511B8F9 332255AABBCCDDEEFFF53F 926B550745 FFFFFFFF1D0F Western Digital Corporation (May 1980), FD 179X-02 datasheet (courtesy of University of Kent Mirror Service) I Definition: Width, Poly, Init (p.5) Floppy disc formats: IBM 3740 (FM, e.g. Acorn DFS), ISO/IEC 8860-2:1987 (DOS 720K), ISO/IEC 9529-2:1989 (DOS 1.4M) II Implementation Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Dr Ross N. Williams (19 August 1993), "A Painless Guide to CRC Error Detection Algorithms" (courtesy of the Internet Archive) III All parameters (except Check, Residue) Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRC documentation III All parameters (except Residue) Altera Corporation (April 1999), crc MegaCore Function Data Sheet, version 2 (courtesy of the Internet Archive) III All parameters (except Residue) (p.6) Scarybeasts (19 February 2021), Beebjit module beebjit/ibm_disc_format.c III Code: C IV 2 codewords FE00000001F1D3 FB + E5 × 256 + A40C Unique effective solution of codeword set Created: 30 March 2005 Updated: 3 August 2023 CRC-16/IBM-SDLCwidth=16 poly=0x1021 init=0xffff refin=true refout=true xorout=0xffff check=0x906e residue=0xf0b8 name="CRC-16/IBM-SDLC" Class: attested Alias: CRC-16/ISO-HDLC, CRC-16/ISO-IEC-14443-3-B, CRC-16/X-25, CRC-B, X-25 HDLC is defined in ISO/IEC 13239. CRC_B is defined in ISO/IEC 14443-3. ITU-T Recommendation T.30 (September 2005) I Definition: Residue; full mathematical description (Section 5.3.7, p.78) ITU-T Recommendation V.42 (March 2002) I Definition: Residue; full mathematical description (Section 8.1.1.6.1, p.17) ITU-T Recommendation X.25 (October 1996) I Definition: Residue; full mathematical description (Section 2.2.7.4, p.9) IV 4 codewords (Appendix I, p.145) 033F5BEC 01738357 013FEBDF 03733364 IETF RFC 1331 (May 1992) I Code: C (Appendix B, pp.61–3) IETF RFC 1662 (July 1994) I Code: C (Appendix C.2, pp.19–21) William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5 III All parameters (except Check) (p.898) III Code: C (pp.900–1) IV 2 codewords (p.898) 54D9E4 (source: 54261B) 4361744D6F757365393837363534333231910A (source: 4361744D6F7573653938373635343332316EF5) Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRC documentation III All parameters (except Residue) iBiquity Digital Corporation (14 December 2016), HD Radio™ Air Interface Design Description: Advanced Application Services Transport, rev. H (courtesy of National Radio Systems Committee) IV 1 codeword (Figure 6-3, p.17) 21005100004944330300000000004A544954320000000D000000416E616C6F6720426C756573545045310000000D0000004A2E20512E205075626C696354414C4200000012000000546865204C6F73742053657373696F6E73F527 ISO/IEC FCD 14443-3 (24 November 2008) IV 3 codewords (Annex B.2, p.50) 000000CCC6 0FAAFFFCD1 0A1234562CF6 Unique effective solution of codeword set Created: 10 September 2005 Updated: 4 August 2023 CRC-16/ISO-IEC-14443-3-Awidth=16 poly=0x1021 init=0xc6c6 refin=true refout=true xorout=0x0000 check=0xbf05 residue=0x0000 name="CRC-16/ISO-IEC-14443-3-A" Class: attested Alias: CRC-A Used in contactless IC cards. ISO/IEC FCD 14443-3 (24 November 2008) I Definition: Init, XorOut (Section 6.2.4, p.11) I Citation for rest of algorithm: ISO/IEC 13239 (see CRC-16/IBM-SDLC) IV 2 codewords (Annex B.1, p.49) 0000A01E 123426CF Adam Laurie (31 August 2010), crc16.c (C source text; courtesy of the Internet Archive) III Code: C Adam Laurie (31 August 2010), comment on a Ridrix's Blog post III Code: C IV 1 codeword AABBCCDDEE0011227B09 Flavio D. Garcia, et al. (October 2008), Dismantling MIFARE Classic, Proceedings of the Thirteenth European Symposium on Research in Computer Security (ESORICS 2008) IV 6 codewords (Figure 2, p.100; Section 4.1, p.102, referencing ISO/IEC 14443; Figure 6, p.105) 9370C2A82DF4B3BAA3 08B6DD 6030764A 500057CD 937000000000009CD9 6000F57B Flavio D. Garcia, et al. (October 2008), Dismantling MIFARE Classic, slide presentation, ESORICS 2008 conference IV 1 additional codeword (p.13) 93701DFBE03335D355 Unique effective solution of codeword set Created: 30 April 2011 Updated: 3 August 2023 CRC-16/KERMITwidth=16 poly=0x1021 init=0x0000 refin=true refout=true xorout=0x0000 check=0x2189 residue=0x0000 name="CRC-16/KERMIT" Class: attested Alias: CRC-16/BLUETOOTH, CRC-16/CCITT, CRC-16/CCITT-TRUE, CRC-16/V-41-LSB, CRC-CCITT, KERMIT Used in Bluetooth error detection. Init=0x0000 is used in the Inquiry Response substate. Press et al. identify the CCITT algorithm with the one implemented in Kermit. V.41 is endianness-agnostic, referring only to bit sequences, but the CRC appears reflected when used with LSB-first modems. Ironically, the unreflected form is used in CRC-16/XMODEM. For the algorithm often misidentified as CCITT, see CRC-16/IBM-3740. ITU-T Recommendation V.41 (November 1988) I Definition: Residue; full mathematical description (Section 2, p.2) I Shift register diagrams (Appendix I, p.9) Frank da Cruz (June 1986), Kermit Protocol Manual, Sixth Edition (plain text; courtesy of the Internet Archive) I Full definition (except Check) (Section 6.3) I Pseudocode (Section 6.3) Bluetooth SIG (31 January 2023), Bluetooth Specification, Core Version 5.4 I Definition: Init (Section 2.B.1.2.1, p.425; Section 2.B.6.5.1.4, pp.481–3 — Section 2.B.6.6.2, pp.490–3 — Section 2.B.7.1, p.497 — Section 2.B.8.4.3, pp.525–7) I Definition: Width, Poly, RefIn, RefOut, XorOut (Section 2.B.7.1.2, pp.498–9) I Shift register diagram (Figure 2.B.7.6, p.499) Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Aviation Data Systems (Aust) Pty Ltd. (13 June 2006), PC.ACARS-G ACARS client (PATS presentation) (courtesy of the Internet Archive) II Transcripts confirming implementation with 10 codewords 43AED6C8ADD651431551B03102D332B9C1D651313732B583F303 6DAEB9CDADCD524F15C1C154022FCD454C43C1D9C1AEC15431AEB9CDADCD524F32B0B93446C2C13443B0B3B9B946834861 CDAEB9CDADCD524F54DF7F3802D33231C1CDC8B03134388361A7 6D8080808080808015D3518002B0B058D3838236 CDAEB9CDADCD524F15C2C1B9024CB032C1CDC8B03134382FCD454C43C1D9C1AEC15431AEB9CDADCD524FC1B0B9B531323443B3C4B9B0B3C2C1B53131C2B9B0B0C143B53437313443B0C437C134B6B54334C1C432B6B9B5B5C14343433445B9C13831B543383132343446C131B332B0B934B9B0B3B3C1B0454534C438374643B3834483 6DAEB9CDADCD524FB9DF7FD58391C6 43AED6C8ADDA5843D50DD0C1524954D920BF8397AC 43AED6C8ADDA584315C831BC0DD0C1524954D920BF8302D5 32AED6C8ADDA58C21538313702CD31B3C15146B034B3B90D8ACDD6C10D8A5146C1B034B3B92F31B0AED6C8DA58C2AECD454C200D8AC1C1B0B53137202020202083751B 6DAEB9D6ADD3CD57B5DF7F4A839BC6 Andrew Richardson (17 March 2005), WCDMA Design Handbook, Cambridge University Press, ISBN 0-521-82815-5 (embedded content) III Definition: Width, Poly, Residue (Section 7.1.3, Table 7.3, p.223) III Shift register diagram (Figure 7.4, p.223) William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5 III All parameters (except Check) (p.898) III Code: C (pp.900–1) IV 2 codewords (p.898) 54A114 4361744D6F7573653938373635343332318DC2 Atmel Corporation (30 March 2015), Application Note ATAN0086: Using Atmel ATA5577 in Animal Identification Application according to ISO11784/85 (courtesy of MCS Electronics) IV 2 codewords (Figure 2-2, p.5; Figure 3-1, p.6) 10000000000000000000000000000000000000111001111100000000000000010010001001110100 10001110110001001100011000000010000000111001111100000000000000010111110011100100 reveng -m CRC-16/KERMIT -i 0047 -X -c 4E010203040506070809 → 6DD2 reveng -m CRC-16/KERMIT -i 0047 -a 1 -X -c 011101001000000001000000110000000010000010100000 → 1110110000110110 reveng -m CRC-16/KERMIT -i 0047 -a 1 -X -c 01110100100000000100000011000000001000001010000011 → 1011000011011000 Unique effective solution of codeword set Created: 10 September 2005 Updated: 4 August 2023 CRC-16/LJ1200width=16 poly=0x6f63 init=0x0000 refin=false refout=false xorout=0x0000 check=0xbdf4 residue=0x0000 name="CRC-16/LJ1200" Class: third-party Reference from named polynomial in Prof. Koopman's CRC Polynomial Zoo. Used in the LoJack vehicle tracking system. Dennis Sheirer (24 January 2015), SDRTrunk module sdrtrunk/src/main/java/io/github/dsheirer/edac/CRCLJ.java III Code: Java III Worked example (as generator matrix) Created: 20 February 2016 Updated: 6 June 2018 CRC-16/M17width=16 poly=0x5935 init=0xffff refin=false refout=false xorout=0x0000 check=0x772b residue=0x0000 name="CRC-16/M17" Class: attested Contributed by Mark Adler. M17 Project (13 July 2023), M17 protocol specification, version 1.0 I Definition: Width, Poly, Init, RefIn, RefOut, Check (Section 2.5.4, pp.24–5; Table 2.9, p.25) IV 3 codewords (Table 2.9, p.25) FFFF 41206E 256 bytes (i) plus 1C31 Created: 7 May 2022 Updated: 4 August 2023 CRC-16/MAXIM-DOWwidth=16 poly=0x8005 init=0x0000 refin=true refout=true xorout=0xffff check=0x44c2 residue=0xb001 name="CRC-16/MAXIM-DOW" Class: attested Alias: CRC-16/MAXIM Maxim Integrated (8 August 2012), DS1921G Datasheet I Definition: Width, Poly, Init, XorOut (p.32) I Shift register diagram (p.34) Maxim Integrated (22 August 2012), Application Note 27 (PDF, HTML) I Definition: Init (p.10) I Shift register diagram (p.11) I Code: 8051 assembler (pp.12–16) I Worked example (p.15) Created: 26 April 2009 Updated: 28 December 2019 CRC-16/MCRF4XXwidth=16 poly=0x1021 init=0xffff refin=true refout=true xorout=0x0000 check=0x6f91 residue=0x0000 name="CRC-16/MCRF4XX" Class: attested Youbok Lee, PhD, Microchip Technology Inc. (16 July 2001), "CRC Algorithm for MCRF45X Read/Write Device" I Definition: Width, Poly (reverse form) (p.1) I Shift register diagram (p.1) I Flowchart (p.2) I Worked example (p.3) I Code: C (pp.4–5) Piers Desrochers, PICList MassMind, "A quick guide to CRC" (courtesy of the Internet Archive) III Description III Worked example William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5 III All parameters (except Check) (p.898) III Code: C (pp.900–1) IV 2 codewords (p.898) 54261B 4361744D6F7573653938373635343332316EF5 "kilobravo" (16 June 2008), Computer Interfacing Forum topic 578 (courtesy of the Internet Archive) IV 2 codewords 3A7164D9 3A916A3E Unique effective solution of codeword set Created: 18 January 2008 Updated: 4 August 2023 CRC-16/MODBUSwidth=16 poly=0x8005 init=0xffff refin=true refout=true xorout=0x0000 check=0x4b37 residue=0x0000 name="CRC-16/MODBUS" Class: attested Alias: MODBUS CRC presented low byte first. MODICON Inc. (June 1996), Modbus Protocol Reference Guide, Rev. J I Algorithm (pp.112–3) I Code: C (pp.113–5) Lammert Bies (August 2011), CRC calculator II Implementation Ondřej Karas (28 February 2006), CRC calculator II Implementation Panu-Kristian Poiksalo (28 February 2003), Control.com forum post III Code: ObjectPascal Created: 27 February 2007 Updated: 2 January 2021 CRC-16/NRSC-5width=16 poly=0x080b init=0xffff refin=true refout=true xorout=0x0000 check=0xa066 residue=0x0000 name="CRC-16/NRSC-5" Class: attested Implemented in standard NRSC-5-D as a 16-bit CRC truncated (punctured) to 12 bits. The upper 4 bits, the last to leave the shift register, are discarded. Init = 0xFFFF implements the algorithm prescribed by iBiquity on 80-bit PDUs. Substitute Init = 0x39C8 if skipping 8 leading zeroes, Init = 0x849D if skipping all 12 leading zeroes and processing only the 68 message bits. In any case Init = 0x0000, XorOut = 0x4955 is equivalent. iBiquity Digital Corporation (23 August 2011), HD Radio™ Air Interface Design Description: Station Information Service Transport, rev. J (courtesy of National Radio Systems Committee) I Definition: Poly (mantissa only); method (Section 4.10, p.38) Incorporated by normative reference into National Radio Systems Committee standard NRSC-5-D. Andrew Wesie (9 June 2017), NRSC-5 receiver for rtl-sdr, file nrsc5/support/sample.xz (XZ compressed raw radio recording, 22 MB) II Recording confirming implementation with 28 codewords (4 bits extrapolated; selection) 000048BBABA0329A0A0A2671 (source: 00001010000010101001101000110010101000001010101110111011010010000000000100100110) 0030C8D3D37379D91E0A7B40 (source: 00001010000111101101100101111001011100111101001111010011110010000011000001111011) 0010C097A920F31B240A2D1D (source: 00001010001001000001101111110011001000001010100110010111110000000001110100101101) 00200882E861D03C3C0AEB71 (source: 00001010001111000011110011010000011000011110100010000010000010000010000111101011) 00100000DC69FABC4E0AB6CD (source: 00001010010011101011110011111010011010011101110000000000000000000001110110110110) 000015004000809E54456AC7 (source: 01000101010101001001111010000000000000000100000000000000000101010000011101101010) 00200008FA7E849E54454B82 (source: 01000101010101001001111010000100011111101111101000001000000000000010001001001011) 001000744280849E54457C5C (source: 01000101010101001001111010000100100000000100001001110100000000000001110001111100) Andrew Wesie, Clayton Smith et al. (17 April 2018), NRSC-5 receiver for rtl-sdr, module nrsc5/src/pids.c III Code: C Created: 16 November 2018 Updated: 20 March 2019 CRC-16/OPENSAFETY-Awidth=16 poly=0x5935 init=0x0000 refin=false refout=false xorout=0x0000 check=0x5d38 residue=0x0000 name="CRC-16/OPENSAFETY-A" Class: attested The single codeword is supported by the codewords confirming CRC-8/OPENSAFETY, defined identically apart from Width, Poly in the same standard. Ethernet POWERLINK Standardisation Group (18 October 2018), OpenSAFETY Safety Profile Specification Working Draft Proposal, version 1.5.2 I Full description (Section 5.1.2.6, pp.43–4) I Error detection capability (Section 8.1, p.182) I Code: C (Appendix 1, pp.196–9) IV 1 codeword (Appendix 1, l.3525, pp.196–7) 23C8083411223344556677880374 Prof. Philip Koopman, Tridib Chakravarty (June 2004), Cyclic Redundancy Code (CRC) Polynomial Selection for Embedded Networks III Assessment of polynomial performance (as 0xAC9A or C3) Created: 22 July 2016 Updated: 7 May 2022 CRC-16/OPENSAFETY-Bwidth=16 poly=0x755b init=0x0000 refin=false refout=false xorout=0x0000 check=0x20fe residue=0x0000 name="CRC-16/OPENSAFETY-B" Class: attested The single codeword is supported by the codewords confirming CRC-8/OPENSAFETY, defined identically apart from Width, Poly in the same standard. Ethernet POWERLINK Standardisation Group (18 October 2018), OpenSAFETY Safety Profile Specification Working Draft Proposal, version 1.5.2 I Full description (Section 5.1.2.6, pp.43–4) I Error detection capability (Section 8.1, p.182) I Code: C (Appendix 1, pp.196–9) IV 1 codeword (Appendix 1, l.3530, pp.196–7) 22C812563011223344556677887031 Prof. Philip Koopman, Tridib Chakravarty (June 2004), Cyclic Redundancy Code (CRC) Polynomial Selection for Embedded Networks III Assessment of polynomial performance (as 0xBAAD) Created: 22 July 2016 Updated: 7 May 2022 CRC-16/PROFIBUSwidth=16 poly=0x1dcf init=0xffff refin=false refout=false xorout=0xffff check=0xa819 residue=0xe394 name="CRC-16/PROFIBUS" Class: attested Alias: CRC-16/IEC-61158-2 PROFIBUS International (March 1998), PROFIBUS Specification, Normative Parts, Edition 1.0, Part 9 (courtesy of the Internet Archive) I Transmission order, implying RefIn and RefOut (Part 9 Section 8.5.1, p.902) I Definition: Width, Poly, Init, Residue (Part 9 Section 8.8.4, pp.905–7) I Properties of polynomial (Part 9 Section 8.8.4, p.906) "Chetanya" (17 November 2011), Computer Interfacing Forum topic 1752 (courtesy of the Internet Archive) III Definition: Width, Poly, Init IV 5 codewords 34AF21 011057E0 321000E37E82 331000E32A0F 2611010000080A109739 Unique effective solution of codeword set Created: 5 July 2016 Updated: 7 May 2022 CRC-16/RIELLOwidth=16 poly=0x1021 init=0xb2aa refin=true refout=true xorout=0x0000 check=0x63d0 residue=0x0000 name="CRC-16/RIELLO" Class: third-party Reported for a Riello Dialog UPS. "Snamprogetti" (17 April 2009), Computer Interfacing Forum topic 1305 (courtesy of the Internet Archive) III Definition: Width, Poly, Init III Algorithm reported to be CRC-CCITT, implying RefIn and RefOut. IV 1 codeword 2022525330308790 Created: 18 April 2009 Updated: 28 December 2019 CRC-16/SPI-FUJITSUwidth=16 poly=0x1021 init=0x1d0f refin=false refout=false xorout=0x0000 check=0xe5cc residue=0x0000 name="CRC-16/SPI-FUJITSU" Class: attested Alias: CRC-16/AUG-CCITT Init value is equivalent to an augment of 0xFFFF prepended to the message. Fujitsu Semiconductor (10 October 2007), FlexRay ASSP MB88121B User's Manual (courtesy of the Internet Archive) I Definition: Width, Poly, Init (Section 2.5.1, p.153) Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRC documentation III All parameters (except Residue) Created: 30 October 2007 Updated: 4 August 2023 CRC-16/T10-DIFwidth=16 poly=0x8bb7 init=0x0000 refin=false refout=false xorout=0x0000 check=0xd0db residue=0x0000 name="CRC-16/T10-DIF" Class: attested Used in the SCSI Data Integrity Field. XorOut = 0xBADB is proposed to mark known bad blocks. Gerald Houlder, INCITS Technical Committee T10 (2 May 2003), End-to-End Data Protection Proposal I Definition: Poly, Init (p.6) I Shift register diagram (p.18) George O. Penokie, INCITS Technical Committee T10 (22 October 2003), Simplified End-to-End Data Protection I Definition: Residue; full mathematical description (Sections 4.5.3–4.5.4, pp.4–5) IV 5 codewords (Section 4.5.6, p.6) 00000000000000000000000000000000000000000000000000000000000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA293 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F0224 FFFF00000000000000000000000000000000000000000000000000000000000021B8 FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0A0B7 Ralph Weber, John Lohmeyer, INCITS Technical Committee T10 (20 August 2003), Minutes of Data Integrity Study Group - Aug 19-20, 2003 I Definition: Init, XorOut (Item 4.6, p.3) I Acceptance of previous two documents (Item 4.7, p.3) Pat Thaler, INCITS Technical Committee T10 (28 August 2003), 16-bit CRC polynomial selection I Properties of polynomial Martin K. Petersen, Oracle Corporation (2007); Tim Chen, Intel Corporation (2013), Linux module crypto/crct10dif_common.c III Code: C Created: 29 September 2009 Updated: 2 January 2021 CRC-16/TELEDISKwidth=16 poly=0xa097 init=0x0000 refin=false refout=false xorout=0x0000 check=0x0fb3 residue=0x0000 name="CRC-16/TELEDISK" Class: confirmed Used in the Teledisk disc archive format. DECnet and CRCK allegedly use a Sick-type algorithm but with this polynomial. Will Kranz (8 December 2002), wteledsk 1.01 II Implementation Will Kranz (8 December 2002), wteledsk 1.01 module src/tdcrc.c III Code: C Created: 10 December 2009 Updated: 4 August 2023 CRC-16/TMS37157width=16 poly=0x1021 init=0x89ec refin=true refout=true xorout=0x0000 check=0x26b1 residue=0x0000 name="CRC-16/TMS37157" Class: attested Texas Instruments, Inc. (November 2009), TMS37157 datasheet I Full definition (except Check) (pp.39–40) I Shift register diagram (Figure 51, p.39) I Flowchart (Figure 52, p.40) "harper", "jacknad" (November 2010–January 2011), StackOverflow submitted question and answers III Definition: Init (reverse form) ("harper") III Code: C ("jacknad") IV 3 codewords ("harper") 0225A6 024000000000A060E7 024100000000A46FA5 "Petri" (4 May 2010), Texas Instruments, Inc. E2E™ Community forum post IV 1 codeword 01AAAAAAAAAADC25AB Unique effective solution of codeword set Created: 17 April 2011 Updated: 28 December 2019 CRC-16/UMTSwidth=16 poly=0x8005 init=0x0000 refin=false refout=false xorout=0x0000 check=0xfee8 residue=0x0000 name="CRC-16/UMTS" Class: attested Alias: CRC-16/BUYPASS, CRC-16/VERIFONE Reported for the multi-threaded portion of the Buypass transaction processing network. Verifone, Inc. (May 1995), TCLOAD Reference Manual (courtesy of the Internet Archive) I Definition: Poly. CRC byte order, implying RefIn and RefOut (Section 4, p.4-1) 3rd Generation Partnership Project (3GPP) TS 25.427 version 17.0.0 (April 2022) (zipped MS Word document) — ETSI TS 125 427 version 17.0.0 (April 2022) I Definition: Width, Poly, Init, XorOut (Section 7.2.1, p.40) I Definition: RefIn, RefOut (Section 6.1.1, p.20; Section 7.2.1.1, p.40) PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Emil Lenchak, Texas Instruments, Inc. (June 2018), CRC Implementation With MSP430 III All parameters (except Residue) (Section 4.6, p.6) Thomas Schmidt, Microchip Technology Inc. (20 May 2000), "CRC Generating and Checking" III Description (p.4) III Shift register diagram (Figure 1, p.3) III Code: 16C54B assembler (Appendix A, pp.7–11; Appendix B, pp.12–22) Michael Niedermayer, Aurélien Jacobs et al. (27 February 2023), FFmpeg 6.0 (XZ compressed tarfile), module ffmpeg-6.0/libavutil/tests/crc.c IV 1 codeword 1999 bytes (i+i*i) plus 1FBB "Joshua" (31 May 2008), Computer Interfacing Forum topic 530 (courtesy of the Internet Archive) IV 2 codewords 0384901B56 03848400001230314131333030323031333030311C39303062BF Michael Junker (26 October 2009), Computer Interfacing Forum topic 1432 (courtesy of the Internet Archive) IV 7 codewords (7-bit payload characters) 01100110011101011000001100000110011001110101100001101000111010100 (source: 331D3030331D30 + 53716) 01101000011101011000001100000110011001110101100001111000111001001 (source: 341D3030331D30 + 61897) 01101010011101011000001100000110011001110101100000001000111001111 (source: 351D3030331D30 + 04559) 01101100011101011000001100000110011001110101100001011000111000000 (source: 361D3030331D30 + 45504) 01100110011101011010001100000110000001110101100000101000111000110 (source: 331D3430301D30 + 20934) 01100110011101011000001100000111001001110101100001101000111110110 (source: 331D3030391D30 + 53750) 01100010011101011000001100010110000001110101100000001001101010001 (source: 311D3031301D30 + 04945) Unique effective solution of codeword set Created: 4 June 2008 Updated: 2 August 2023 CRC-16/USBwidth=16 poly=0x8005 init=0xffff refin=true refout=true xorout=0xffff check=0xb4c8 residue=0xb001 name="CRC-16/USB" Class: third-party CRC appended low byte first. Anonymous (10 July 1997), "Cyclic Redundancy Checks in USB" (Draft) (courtesy of the Internet Archive) III Definition: Width, Poly, Init, XorOut (p.2) III Definition: Residue (p.3) III Code: Perl (p.4) IV 2 codewords (p.6) 00010203EF7A 234567890E1C Created: 1 December 2007 Updated: 6 February 2017 CRC-16/XMODEMwidth=16 poly=0x1021 init=0x0000 refin=false refout=false xorout=0x0000 check=0x31c3 residue=0x0000 name="CRC-16/XMODEM" Class: attested Alias: CRC-16/ACORN, CRC-16/LTE, CRC-16/V-41-MSB, XMODEM, ZMODEM The MSB-first form of the V.41 algorithm. For the LSB-first form see CRC-16/KERMIT. CRC presented high byte first. Used in the MultiMediaCard interface. In XMODEM and Acorn MOS the message bits are processed out of transmission order, compromising the guarantees on burst error detection. ITU-T Recommendation V.41 (November 1988) I Definition: Residue; full mathematical description (Section 2, p.2) I Shift register diagrams (Appendix I, p.9) 3rd Generation Partnership Project (3GPP) TS 36.212 version 17.1.0 (March 2022) (zipped MS Word document) — ETSI TS 136 212 version 17.1.0 (April 2022) I Definition: Width, Poly, Init, XorOut, Residue (Section 5.1.1, pp.10–11) I Attachment relation, defining RefIn ^ RefOut (Section 5.1.1, p.11) 3rd Generation Partnership Project (3GPP) TS 36.321 version 17.5.0 (June 2023) (zipped MS Word document) — ETSI TS 136 321 version 17.5.0 (July 2023) Referenced from TS 136 212 section 5.2.2.1, p.26 I Definition: RefIn, RefOut (Section 6.1.1, p.90) JEDEC Standard JESD84-A441 (March 2010) (registration required) I Full definition (Section 10.2, pp.157–8) I Shift register diagram (Figure 54, p.159) Acorn Computers Ltd (October 1984), BBC Microcomputer User Guide (courtesy of the Internet Archive) I Pseudocode (Chapter 35, p.369) Ward Christensen, Keith Petersen et al. (8 June 1982), XMODEM 5.0 II Implementation (attributed to Paul Hansknecht) Acorn Computers Ltd (1981), Acorn MOS 1.20 (BBC Micro cassette format) II Implementation Lammert Bies (August 2011), CRC calculator II Implementation PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0 II Implementation Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRC documentation III All parameters (except Residue) Altera Corporation (April 1999), crc MegaCore Function Data Sheet, version 2 (courtesy of the Internet Archive) III All parameters (except Residue) cited for ZMODEM (p.6) William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5 III All parameters (except Check) (p.898) III Code: C (pp.900–1) IV 2 codewords (p.898) 541A71 4361744D6F757365393837363534333231E556 Created: 30 March 2005 Updated: 5 August 2023 DisclaimerEvery effort has been made to ensure accuracy, however there may be occasional errors or omissions. All trademarks and registered trademarks are the intellectual property of their respective owners. The code and documentation included in this document are supplied without warranty, not even the implied warranties of merchantability or fitness for a particular purpose. In no event shall the author or his suppliers be liable for any loss, damage, injury or death, of any nature and howsoever caused, arising from the use of, or failure, inability or unwillingness to use, this software or documentation. [ Top of page ] Greg Cook,![]()
[ Top of page ] |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |